var mongoose = require('mongoose');

var gaugeSchema = new mongoose.Schema({
  qid: String,	// 问卷号(questionnaire id)
  type: String, // 量表类型 ['NORMAL', 'MAX', 'MIX']
  scored_groups: [Number], // 数组(所有组分由高到低排序后得到的数组)下标组合
  // 比如 [0,1,2] 代表得分top3的组; [3,5,7] 代表得分第4,第6和第8高的组
  groups: [{
    group_id    : String,
    grupe_name  : String,
    question_ids: [String], // question ids
    // 混合型量表的status是用来做分数范围-状态映射的
    // 一般来说每组使用的映射规则应该是一样的;
    // 在UI中,混合型不会为每个组单独显示状态映射组件;
    // 整个问卷使用一个状态映射UI,然后所有组的status部分存储相同的数据
    status      : [{
      range: {
        gt: Number,
        lt: Number
      },
      status  : String // Real URL(结论) or Status(如果不是一个标准的URL就认为是一个混合型量表的状态)
    }]
  }],

  // matrix状态只在混合型量表中才会出现
  matrix: [{
    status_gruops:[String], // 计分组的状态组合
    url: String // 状态组合对应的结论
  }]
});

module.exports = mongoose.model('gauge', gaugeSchema);